Agentic AI
LLMを対話ツールではなく、目標に向けて作業を進める仕組みと捉えたときの概念。
Agentic AIにおいて、AI Agentは作業主体と位置付けられる。
AI Agentは、目標に対して必要な情報を探し、ツールを使い、結果を確認しながら作業を進める。
Agentic AIは、1つのAI Agentで構成される場合もあれば、複数のAI Agentが役割分担する場合もある。
Agentic AIをソフトウェア開発に応用したものがAgentic codingとよばれる。
1. システム構成
Single-agent System
Single-agent systemは、1つのAI Agentで構成されるAgentic AIの実装形態である。1つのAgentが目標を受け取り、作業を考え、ツールを使い、結果を確認しながら進める。
たとえば、1つのコーディングAgentがリポジトリを読み、バグの原因を探し、コードを修正し、テストを実行する場合はSingle-agent systemである。
Single-agent systemは構成が単純で、作業の流れを追いやすい。小さなタスクや、範囲が明確な作業に向いている。
Multi-agent System
Multi-agent systemは、複数のAI Agentで構成されるAgentic AIの実装形態である。複数のAgentが役割分担し、相互に情報をやり取りしながら作業を進める。
たとえば、ソフトウェア開発では、作業計画を立てるAgent、コードを書くAgent、テストするAgent、問題がないか確認するAgentに分けることができる。役割を分けることで、複雑な作業を整理しやすくなる。
Multi-agent systemは、Agentic AIの一つの構成方法である。Agentic AIであるために複数のAgentが必ず必要なわけではない。1つのAgentでも、目標に向けて計画し、実行し、結果を見て修正するならAgentic AIとして成立する。
2. 応用例:Agentic Coding
Agentic codingは、Agentic AIをソフトウェア開発に応用したものである。AIがコード片を生成するだけではなく、開発タスクをまとまりとして進める。
バグ修正では、AI Agentが原因を探し、コードを直し、テストする。機能追加では、既存コードを読み、新しい処理を加える。テスト追加では、必要なテストを書き、実行結果を確認する。リファクタリングでは、コードの構造を整理する。
Agentic codingでは、AI Agentが開発作業の一部を引き受ける。開発者は目的を伝え、制約を与え、結果を確認する役割を担う。